package mapeamento;

import java.util.ArrayList;
import java.util.List;

public class Mapeamentos {
	
	private static List<MapeamentoAbsoluto> mapAbsoluto = null;
	public static List<MapeamentoRelativo> mapRelativo = null;
	
	public static List<MapeamentoAbsoluto> getMapAbsolutos() {
		
		if (mapAbsoluto == null)
			mapAbsoluto = lerMapAbsoluto();
		
		return mapAbsoluto;
	}
	
	private static List<MapeamentoAbsoluto> lerMapAbsoluto() {
		List<MapeamentoAbsoluto> map = new ArrayList<MapeamentoAbsoluto>();
		
		MapeamentoAbsoluto m1 = new MapeamentoAbsoluto("Curso", "LCM2", "cursos.xml", "/Cursos/Curso", "CodigoCurso");
		map.add(m1);
		
		MapeamentoAbsoluto m2 = new MapeamentoAbsoluto("Leciona", "LCM2", "cursos.xml", "/Cursos/Curso/Professor/Periodo");
		map.add(m2);
		
		MapeamentoAbsoluto m3 = new MapeamentoAbsoluto("Matricula", "LCM3", "matricula2005.xml", "/estudantes/estudante/matriculas/matricula");
		map.add(m3);
		
		MapeamentoAbsoluto m4 = new MapeamentoAbsoluto("Matricula", "LCM3", "matricula2006.xml", "/Matriculas/Matricula");
		map.add(m4);
		
		MapeamentoAbsoluto m5 = new MapeamentoAbsoluto("Estudante", "LCM3", "matricula2005.xml", "/estudantes/estudante");
		map.add(m5);
		
		MapeamentoAbsoluto m6 = new MapeamentoAbsoluto("Estudante", "LCM3", "matricula2006.xml", "/Matriculas/Matricula/Estudantes/Estudante");
		map.add(m6);
		
		return map;
	}
	
	public static List<MapeamentoRelativo> getMapRelativo() {
		
		if (mapRelativo == null)
			mapRelativo = lerMapRelativo();
		
		return mapRelativo;
	}
	
	private static List<MapeamentoRelativo> lerMapRelativo() {
		List<MapeamentoRelativo> map = new ArrayList<MapeamentoRelativo>();
		
		MapeamentoRelativo r1 = new MapeamentoRelativo("Curso", "CodigoCurso", "LCM2", "cursos.xml", "CodigoCurso");
		map.add(r1);
		
		MapeamentoRelativo r2 = new MapeamentoRelativo("Curso", "NomeCurso", "LCM2", "cursos.xml", "Nome");
		map.add(r2);
		
		MapeamentoRelativo r3 = new MapeamentoRelativo("CodigoCurso", "Curso", "LCM2", "cursos.xml", "..");
		map.add(r3);
		
		MapeamentoRelativo r4 = new MapeamentoRelativo("NomeCurso", "Curso", "LCM2", "cursos.xml", "..");
		map.add(r4);
		
		MapeamentoRelativo r5 = new MapeamentoRelativo("Matricula", "Semestre", "LCM3", "matricula2005.xml", "semestre");
		map.add(r5);
		
		MapeamentoRelativo r6 = new MapeamentoRelativo("Matricula", "CodigoCurso", "LCM3", "matricula2005.xml", "curso");
		map.add(r6);
		
		MapeamentoRelativo r7 = new MapeamentoRelativo("Matricula", "Estudante", "LCM3", "matricula2005.xml", "../..");
		map.add(r7);
		
		MapeamentoRelativo r8 = new MapeamentoRelativo("Semestre", "Matricula", "LCM3", "matricula2005.xml", "..");
		map.add(r8);

		MapeamentoRelativo r9 = new MapeamentoRelativo("CodigoCurso", "Matricula", "LCM3", "matricula2005.xml", "..");
		map.add(r9);

		MapeamentoRelativo r10 = new MapeamentoRelativo("Estudante", "Matricula", "LCM3", "matricula2005.xml", "..");
		map.add(r10);

		MapeamentoRelativo r11 = new MapeamentoRelativo("Estudante", "Number", "LCM3", "matricula2005.xml", "numero");
		map.add(r11);
		
		MapeamentoRelativo r12 = new MapeamentoRelativo("Estudante", "Nome", "LCM3", "matricula2005.xml", "nome");
		map.add(r12);

		MapeamentoRelativo r13 = new MapeamentoRelativo("Numero", "Estudante", "LCM3", "matricula2005.xml", "..");
		map.add(r13);

		MapeamentoRelativo r14 = new MapeamentoRelativo("Nome", "Estudante", "LCM3", "matricula2005.xml", "..");
		map.add(r14);

		MapeamentoRelativo r15 = new MapeamentoRelativo("Matricula", "Semestre", "LCM3", "matricula2006.xml", "Semestre");
		map.add(r15);
		
		MapeamentoRelativo r16 = new MapeamentoRelativo("Matricula", "CodigoCurso", "LCM3", "matricula2006.xml", "CodigoCurso");
		map.add(r16);

		MapeamentoRelativo r17 = new MapeamentoRelativo("Matricula", "Estudante", "LCM3", "matricula2006.xml", "Estudantes/Estudante");
		map.add(r17);

		MapeamentoRelativo r18 = new MapeamentoRelativo("Semestre", "Matricula", "LCM3", "matricula2006.xml", "..");
		map.add(r18);

		MapeamentoRelativo r19 = new MapeamentoRelativo("CodigoCurso", "Matricula", "LCM3", "matricula2006.xml", "..");
		map.add(r19);

		MapeamentoRelativo r20 = new MapeamentoRelativo("Estudante", "Matricula", "LCM3", "matricula2006.xml", "../..");
		map.add(r20);

		MapeamentoRelativo r21 = new MapeamentoRelativo("Estudante", "Numero", "LCM3", "matricula2006.xml", "Numero");
		map.add(r21);

		MapeamentoRelativo r22 = new MapeamentoRelativo("Estudante", "Nome", "LCM3", "matricula2006.xml", "Nome");
		map.add(r22);
		
		MapeamentoRelativo r23 = new MapeamentoRelativo("Numero", "Estudante", "LCM3", "matricula2006.xml", "..");
		map.add(r23);

		MapeamentoRelativo r24 = new MapeamentoRelativo("Nome", "Estudante", "LCM3", "matricula2006.xml", "..");
		map.add(r24);
		
		return map;
	}
}
